home *** CD-ROM | disk | FTP | other *** search
/ Workbench Add-On / Workbench Add-On - Volume 1.iso / BBS-Archive / Dev / gcc263-src.lha / gcc-2.6.3 / config / i386 / isc.h < prev    next >
Text File  |  1993-10-20  |  2KB  |  63 lines

  1. /* Assembler-independent definitions for an Intel 386 running
  2.    Interactive Unix System V. Specifically, this is for recent versions
  3.    that support POSIX.  */
  4.  
  5. /* Use crt1.o, not crt0.o, as a startup file, and crtn.o as a closing file. */
  6. #undef STARTFILE_SPEC
  7. #define STARTFILE_SPEC \
  8.   "%{!shlib:%{posix:%{pg:mcrtp1.o%s}%{!pg:%{p:mcrtp1.o%s}%{!p:crtp1.o%s}}}\
  9.    %{!posix:%{pg:mcrt1.o%s}%{!pg:%{p:mcrt1.o%s}%{!p:crt1.o%s}}\
  10.    %{p:-L/lib/libp} %{pg:-L/lib/libp}}}\
  11.    %{shlib:%{posix:crtp1.o%s}%{!posix:crt1.o%s}} crtbegin.o%s"
  12.   
  13. #define ENDFILE_SPEC "crtend.o%s crtn.o%s"
  14.  
  15. /* Library spec */
  16. #undef LIB_SPEC
  17. #define LIB_SPEC "%{shlib:-lc_s} %{posix:-lcposix} -lc -lg"
  18.  
  19. /* ISC 2.2 uses `char' for `wchar_t'.  */
  20. #undef WCHAR_TYPE
  21. #define WCHAR_TYPE "char"
  22.  
  23. #undef WCHAR_TYPE_SIZE
  24. #define WCHAR_TYPE_SIZE BITS_PER_UNIT
  25.  
  26. #if 0
  27. /* This is apparently not true: ISC versions up to 3.0, at least, use
  28.    the standard calling sequence in which the called function pops the
  29.    extra arg.  */
  30. /* caller has to pop the extra argument passed to functions that return
  31.    structures. */
  32.  
  33. #undef RETURN_POPS_ARGS
  34. #define RETURN_POPS_ARGS(FUNTYPE,SIZE)   \
  35.   (TREE_CODE (FUNTYPE) == IDENTIFIER_NODE ? 0            \
  36.    : (TARGET_RTD                        \
  37.       && (TYPE_ARG_TYPES (FUNTYPE) == 0                \
  38.       || (TREE_VALUE (tree_last (TYPE_ARG_TYPES (FUNTYPE)))    \
  39.           == void_type_node))) ? (SIZE)            \
  40.    : 0)
  41. /* On other 386 systems, the last line looks like this:
  42.    : (aggregate_value_p (TREE_TYPE (FUNTYPE))) ? GET_MODE_SIZE (Pmode) : 0)  */
  43. #endif
  44.  
  45. /* Handle #pragma pack and #pragma weak.  */
  46. #define HANDLE_SYSV_PRAGMA
  47.  
  48. /* By default, target has a 80387, uses IEEE compatible arithmetic,
  49.    and returns float values in the 387, ie,
  50.    (TARGET_80387 | TARGET_FLOAT_RETURNS_IN_80387)
  51.  
  52.    ISC's software emulation of a 387 fails to handle the `fucomp'
  53.    opcode.  fucomp is only used when generating IEEE compliant code.
  54.    So don't make TARGET_IEEE_FP default for ISC. */
  55.  
  56. #undef TARGET_DEFAULT
  57. #define TARGET_DEFAULT 0201
  58.  
  59. /* The ISC 2.0.2 software FPU emulator apparently can't handle
  60.    80-bit XFmode insns, so don't generate them.  */
  61. #undef LONG_DOUBLE_TYPE_SIZE
  62. #define LONG_DOUBLE_TYPE_SIZE 64
  63.